﻿//начало текста модуля
&НаКлиенте
Перем Ванесса;

&НаКлиенте
Функция ДобавитьШагВМассивТестов(МассивТестов,Снипет,ИмяПроцедуры,ПредставлениеТеста = Неопределено,Транзакция = Неопределено,Параметр = Неопределено)
	Структура = Новый Структура;
	Структура.Вставить("Снипет",Снипет);
	Структура.Вставить("ИмяПроцедуры",ИмяПроцедуры);
	Структура.Вставить("ИмяПроцедуры",ИмяПроцедуры);
	Структура.Вставить("ПредставлениеТеста",ПредставлениеТеста);
	Структура.Вставить("Транзакция",Транзакция);
	Структура.Вставить("Параметр",Параметр);
	МассивТестов.Добавить(Структура);
КонецФункции

&НаКлиенте
Функция ПолучитьСписокТестов(КонтекстФреймворкаBDD) Экспорт
	Ванесса = КонтекстФреймворкаBDD;
	
	ВсеТесты = Новый Массив;

	//описание параметров
	//ДобавитьШагВМассивТестов(ВсеТесты,Снипет,ИмяПроцедуры,ПредставлениеТеста,Транзакция,Параметр);

	ДобавитьШагВМассивТестов(ВсеТесты,"ЯОстанавливаюВыполнениеШаговПриПомещенииФайла()","ЯОстанавливаюВыполнениеШаговПриПомещенииФайла","Я останавливаю выполнение щагов при помещении файла");
	ДобавитьШагВМассивТестов(ВсеТесты,"ВторойШагПоместитВПеременнуюКонтекстСлужебноеЗначение(Парам01)","ВторойШагПоместитВПеременнуюКонтекстСлужебноеЗначение","Второй шаг поместит в переменную контекст служебное значение ""Тест""");
	ДобавитьШагВМассивТестов(ВсеТесты,"НаТретьемШагеЯМогуОбратитьсяКЭтомуСлужебномуЗначению(Парам01)","НаТретьемШагеЯМогуОбратитьсяКЭтомуСлужебномуЗначению","на третьем шаге я могу обратиться к этому служебному значению ""Тест""");

	Возврат ВсеТесты;
КонецФункции

&НаКлиенте
Процедура ПередНачаломСценария() Экспорт
	
КонецПроцедуры

&НаКлиенте
Процедура ПередОкончаниемСценария() Экспорт
	
КонецПроцедуры



&НаКлиенте
Процедура ОбработкаПомещенияФайла(Результат, АдресХранилища, ВыбранноеИмяФайла, ДополнительныеПараметры) Экспорт
	//Сообщить("ПомещениемФайла");
	Ванесса.ПродолжитьВыполнениеШагов();
КонецПроцедуры


&НаКлиенте
//Я останавливаю выполнение щагов при помещении файла
//@ЯОстанавливаюВыполнениеШаговПриПомещенииФайла()
Процедура ЯОстанавливаюВыполнениеШаговПриПомещенииФайла() Экспорт
	ИмяФайла = ПолучитьИмяВременногоФайла("txt");
	ЗТ = Новый ЗаписьТекста(ИмяФайла,"UTF-8",,Истина); 
	ЗТ.ЗаписатьСтроку(""); 
	ЗТ.Закрыть();
	
	
	АдресХранилища = "";
	Ванесса.ЗапретитьВыполнениеШагов();
	//Сообщить("ПередПомещениемФайла");
	
	Оповещение = Вычислить("Новый ОписаниеОповещения(""ОбработкаПомещенияФайла"", ЭтотОбъект)");
	Выполнить("НачатьПомещениеФайла(Оповещение, АдресХранилища, ИмяФайла, Ложь, Новый УникальныйИдентификатор)"); 
КонецПроцедуры

&НаКлиенте
//Второй шаг поместит в переменную контекст служебное значение "Тест"
//@ВторойШагПоместитВПеременнуюКонтекстСлужебноеЗначение(Парам01)
Процедура ВторойШагПоместитВПеременнуюКонтекстСлужебноеЗначение(Парам01) Экспорт
	Контекст.Вставить(Парам01,Истина);
КонецПроцедуры

&НаКлиенте
//на третьем шаге я могу обратиться к этому служебному значению "Тест"
//@НаТретьемШагеЯМогуОбратитьсяКЭтомуСлужебномуЗначению(Парам01)
Процедура НаТретьемШагеЯМогуОбратитьсяКЭтомуСлужебномуЗначению(Парам01) Экспорт
	Ванесса.ПроверитьРавенство(Контекст.Тест,Истина,"В структуре Контекст есть значение тест");
КонецПроцедуры


//окончание текста модуля
